package com.atguigu.gulimall.product;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;

/***
 * 3. JSR303
 *      1）。给Bean添加校验注解:javax.validation.constraints , 并定义自己的message提示
 *      2),开启校验功能@Valid
 *          效果:校验错误以后会有默认的响应
 *      3),给校验的bean后紧跟着一个BindingResult,就可以获取到校验结果
 *      4),分组校验
 *          1),@NotBlank(message="品牌必须提交",groups={Addgroup.class,UpdateGroup.class}
 *          2),@Validated({AddGroup.class})
 *          3），默认没有指定分组的情况下注解@NotBlank,在分组校验的情况下不生效,
 *  4统一异常处理
 * @ControllerAdvice
 *      1),编写异常处理类,使用@ControllerAdvice
 *      2）,使用@ExceptionHandler标注方法可以处理的异常
 *
 * 5自定义校验
 *      1），编写自定义的校验注解
 *      2),编写自定义的校验器
 *      3），关联自定义的校验器和校验注解
 */
@SpringBootApplication
@MapperScan("com.atguigu.gulimall.product.dao")
@EnableDiscoveryClient
@EnableFeignClients("com.atguigu.gulimall.product.feign")
public class GulimallProductApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallProductApplication.class, args);
    }

}
